/**
 * 给你一个整数数组 nums 和一个整数 k，请你在数组中找出 不同的 k-diff 数对，并返回不同的 k-diff 数对 的数目。

k-diff 数对定义为一个整数对 (nums[i], nums[j]) ，并满足下述全部条件：

0 <= i, j < nums.length
i != j
nums[i] - nums[j] == k
注意，|val| 表示 val 的绝对值。
 */

/**
 * @param {numser[]} nums
 * @param {numser} k
 * @return {numser}
 */

//1. 去重暴力

// 排序加双指针
var findPairs = function (nums, k) {
  nums.sort((a, b) => {
    return a - b
  })
  console.log(nums);
  let res = 0
  let n = nums.length, y = 0;
  for (let x = 0; x < n; x++) {
    if (x === 0 || nums[x] !== nums[x - 1]) {
      while (y < n && (nums[y] < nums[x] + k || y <= x)) {
        y++
      }
      if (y < n && nums[y] === nums[x] + k) {
        res++
      }
    }
  }
  console.log(res);
  return res
};

findPairs([-1, -2, -3], 1)